package gui.dados.funcionario;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;


import negocio.cliente.Validar;
import negocio.funcionario.Funcionario;

public class TelaCadastrarAtendente extends JFrame {
	
	private JButton btCadastrar, btLimpar;
	private JPasswordField txtSenha, txtConfirmarSenha;
	private JTextField txtNome, txtTelefone, txtRua, txtNumero, txtBairro, txtCidade,txtEmail;
	private Funcionario funcionario;
	
	public TelaCadastrarAtendente(String titulo, int largura, int altura){
		super(titulo);
		this.setBounds(largura/2, altura/2, largura, altura);
		setResizable(false);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		configurarTela();
		setVisible(true);
	}

	private void configurarTela() {
		
		btCadastrar = new JButton("Cadastrar Atendente");
		btLimpar = new JButton("Limpar dados");
		
		txtSenha = new JPasswordField(2);
		txtConfirmarSenha = new JPasswordField(2);
		txtNome = new JTextField(2);
		txtTelefone = new JTextField(2);
		txtRua = new JTextField(2);
		txtNumero = new JTextField(2);
		txtBairro = new JTextField(2);
		txtCidade = new JTextField(2);
		txtEmail = new JTextField(2);
		
		BorderLayout bl = new BorderLayout();
		setLayout(bl);
		
		JPanel painelSuperior = new JPanel();
		JPanel painelCentro = new JPanel();
		JPanel painelInferior = new JPanel();
		
		painelSuperior.setBackground(Color.red);
		painelCentro.setBackground(Color.white);
		painelInferior.setBackground(Color.red);
		
		add(painelSuperior, BorderLayout.NORTH);
		add(painelCentro, BorderLayout.CENTER);
		add(painelInferior, BorderLayout.SOUTH);
		
		painelSuperior.setLayout(new GridLayout(1,2));
		painelSuperior.add(btCadastrar);
		painelSuperior.add(btLimpar);
		
		painelCentro.setLayout(new GridLayout(9,2));
		painelCentro.add(new JLabel("Senha: "));
		painelCentro.add(txtSenha);
		painelCentro.add(new JLabel("Confirmar senha: "));
		painelCentro.add(txtConfirmarSenha);
		painelCentro.add(new JLabel("Nome: "));
		painelCentro.add(txtNome);
		painelCentro.add(new JLabel("E-mail: "));
		painelCentro.add(txtEmail);
		painelCentro.add(new JLabel("Telefone: "));
		painelCentro.add(txtTelefone);
		painelCentro.add(new JLabel("Rua: "));
		painelCentro.add(txtRua);
		painelCentro.add(new JLabel("N�mero: "));
		painelCentro.add(txtNumero);
		painelCentro.add(new JLabel("Bairro: "));
		painelCentro.add(txtBairro);
		painelCentro.add(new JLabel("Cidade: "));
		painelCentro.add(txtCidade);
		
		painelInferior.add(new JLabel("CopyRigth UFRPE BSI 2� per�odo 2013"));
		
		btCadastrar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				
				String senha ="", confirmarSenha ="";
				
				for(int i = 0; i<=txtSenha.getPassword().length-1;i++){
					senha += txtSenha.getPassword()[i];
				}
				
				for(int i = 0; i<=txtConfirmarSenha.getPassword().length-1;i++){
					confirmarSenha += txtConfirmarSenha.getPassword()[i];
				}
				
				String nome = txtNome.getText();
				String telefone = txtTelefone.getText();
				String rua = txtRua.getText();
				String numero = txtNumero.getText();
				String bairro = txtBairro.getText();
				String cidade = txtCidade.getText();
				String cargo = "atendente";
				String email = txtEmail.getText();
				
				
				Validar validar = new Validar();
				funcionario = new Funcionario(nome, cargo, senha, telefone, numero, rua, bairro, cidade);
				funcionario.setEmail(email);
				
				try {
					if(validar.validarString(senha)){
						if(validar.validarString(confirmarSenha)){
							
							if(validar.validarString(nome)){
								
								if(validar.validarEmail(email)){
								
									if(validar.validarSenha(senha, confirmarSenha)){
										
										if(validar.validarString(telefone)){
											
											if(validar.validarTelefone(telefone)){
												
												if(validar.validarString(rua)){
													
													if(validar.validarString(numero)){
														
														if(validar.validarString(bairro)){
															
															if(validar.validarString(cidade)){
															TelaCadastrarGerente.cdf.adicionarFuncionario(funcionario);
															JOptionPane.showMessageDialog(null, "Funcion�rio cadastrado com sucesso. O seu login �: "+(funcionario.getLogin()));
															}else{
																JOptionPane.showMessageDialog(null, "O campo cidade � obrigat�rio");
															}
														}else{
															JOptionPane.showMessageDialog(null, "O campo bairro � obrigat�rio");
														}
													}else{
														JOptionPane.showMessageDialog(null,"O campo n�mero � obrigat�rio");
													}
												}else{
													JOptionPane.showMessageDialog(null,"O campo rua � obrigat�rio");
												}
											}else{
												JOptionPane.showMessageDialog(null, "O telefone n�o existe");
											}
										}else{
											JOptionPane.showMessageDialog(null,"O campo telefone � obrigat�rio");
										}
									}else{
									JOptionPane.showMessageDialog(null, "As senhas n�o correpondem");
									}
								}else{
									JOptionPane.showMessageDialog(null,"O campo de e-mail n�o foi preenchido ou n�o � v�lido Obs.: O programa s� aceita hotmail e gmail");
								}
							
							}else{
								JOptionPane.showMessageDialog(null,"O campo nome � obrigat�rio");
							}
						}else{
							JOptionPane.showMessageDialog(null, "O campo confirmar senha � obrigat�rio");
							senha ="";
						}
					}else{
						JOptionPane.showMessageDialog(null, "O campo senha � obrigat�rio");
						confirmarSenha="";
					}
					
				} catch (Exception e) {
					// TODO: handle exception
				}
				
				
				
			}
		});
		
		btLimpar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				txtSenha.setText("");
				txtConfirmarSenha.setText("");
				txtNome.setText("");
				txtBairro.setText("");
				txtCidade.setText("");
				txtNumero.setText("");
				txtRua.setText("");
				txtTelefone.setText("");
				
			
				
			}
		});
		
	}

}
